#include<iostream>
#include<cstring>
#include<cstdlib>
using namespace std;
class Siruri {
char *s;
int dim;
public:
	Siruri(char *sir);
	Siruri(const Siruri &obiect);
	Siruri(void);
	~Siruri(void) {delete [] p;}
	friend ostream &operator<<(ostream &flux, Siruri &obiect);
	friend istream &operator>>(ostream &flux, Siruri &obiect);
	Siruri operator=(Siruri &obiect);
	Siruri operator=(char *d);
	Siruri operator+(Siruri &obiect);
	Siruri operator+(char *s);
	friend Siruri operator+(char *s, Siruri &obiect);
	Siruri operator-(Siruri &obiect);
	Siruri operator-(char *s);
	bool operator==(Siruri &obiect) 
		{return !strcmp(p,obiect.p);}
	bool operator!=(Siruri &obiect) 
		{return strcmp(p,obiect.p);}
	bool operator<(Siruri &obiect) 
		{return strcmp(p,obiect.p)<0;}
	bool operator>(Siruri &obiect) 
		{return strcmp(p,obiect.p)>0;}
	bool operator<=(Siruri &obiect) 
		{return strcmp(p,obiect.p)<=0;}
	bool operator>=(Siruri &obiect) 
		{return strcmp(p,obiect.p)>=0;}

	bool operator==(char *s) {return !strcmp(p,s);}
	bool operator!=(char *s) {return strcmp(p,s);}
	bool operator<(char *s) {return strcmp(p,s)<0;}
	bool operator>(char *s) {return strcmp(p,s)>0;}
	bool operator<=(char *s) {return strcmp(p,s)<=0;}
	bool operator>=(char *s) {return strcmp(p,s)>=0;}

	int dimSir(void) {return strlen(p);}
};

